package com.urbane.auth.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;

/**
 * Redis 配置类
 * 功能：
 *   - 配置 Redis 连接工厂（连接 Nacos 中的 Redis）
 *   - 注入 StringRedisTemplate 用于操作 Token 黑名单
 * <p>
 * 用途：
 *   - 存储已注销的 JWT Token：key = "jwt:blacklist:<token>"
 *   - 设置 TTL = 5 分钟，覆盖最长有效窗口
 */
@Configuration
public class RedisConfig {
    @Bean
    public StringRedisTemplate redisTemplate(RedisConnectionFactory factory) {
        StringRedisTemplate template = new StringRedisTemplate(factory);
        template.afterPropertiesSet(); // 确保初始化
        return template;
    }
}
